<?php
class OpcionSistemasController extends AppController{

	var $name = 'OpcionSistemas';
	var $uses = array('Opcion_sistema','Modulo_accion_opcion');
	var $helpers = array('Html','Form','Ajax','Javascript','Cargar');
	var $layout =  "ajax";

 	function index() 
	{
 	}
	function nuevo_opcion_sistema($i=null)
	{
		if($i) $this->set ("guardar",1);
		$id = $this->Opcion_sistema->ultimo_id();
		$this->set('id', $id);
	}
 
 	function ver_opcion_sistema($id = null) 
 	{
		$est=$this->Opcion_sistema->find('all',array('fields'=>array('id','nombre'),'order' => 'id ASC'));
   		$this->set('dep',$est);
   	}
   
	function guardar_opcion_sistema()
 	{
 		$d=$this->data;
 		$this->data=null;
 		$nom=ucwords($d['nombre']);
 		if(!empty($nom))
 		{
			if( $this->verifica_opcion_sistema_int($d['nombre']))
 			{	
				$this->Opcion_sistema->query('BEGIN  WORK');
				$this->data['Opcion_sistema']['id']=$d['id'];
 				$this->data['Opcion_sistema']['nombre']=$nom;
				$this->data['Opcion_sistema']['nombre_var']=$this->quitar_espacios(strtolower($nom));
				if($this->Opcion_sistema->save($this->data))
				{
					$this->Opcion_sistema->query('COMMIT');
					$this->set('Exito','Datos de<br /> opccion del sistema<br /> guardados');
					echo "<script type=\"text/javascript\" language=\"javascript\"> document.getElementById('nombre').value=''; </script>";
					$id = $this->Opcion_sistema->ultimo_id();
					echo "<script type=\"text/javascript\" language=\"javascript\"> document.getElementById('id').value='$id'; </script>";
				}
				else
				{
					$this->set('Error','Datos de<br />opccion del sistema<br /> no fueron guardados');
					$this->Opcion_sistema->query('ROLLBACK');
				}
 			}
			else
			{
				$this->set('Error','la opccion del sistema se encuentra registrada');
			}
 		}
 		else
		{
 			$this->set('Error','El nombre de<br /> opcion del sistema<br /> es obligatorio');
			echo "<script type=\"text/javascript\" language=\"javascript\"> document.getElementById('nombre').focus(); </script>";
		}
		$this->render('mensaje');
 	}
 
	function modificar_opcion_sistema($id=null)
	{
		echo"<script type=\"text/javascript\" language=\"javascript\"> document.getElementById('buscar').style.display='none';
		document.getElementById('guardarfun').style.display='block';</script>";
		$this->set('l',$this->Opcion_sistema->find('first',array('conditions'=>array('Opcion_sistema.id'=>$id),'fields'=>array('id','nombre'))));		
   	}

	function guardar_modificar()
 	{
 		if(!empty($this->data))
 		{ 
 			$d=$this->data;
 			$this->data=null;
 			$nom=ucwords(trim($d['nombre']));
 			if(!empty($nom))
 			{
 				if( $this->verifica_opcion_sistema_int($d['nombre'],$d['id_opci']))
 				{
					$this->Opcion_sistema->query('BEGIN  WORK');
 					$this->data['Opcion_sistema']['id']=$d['id_opci'];
 					$this->data['Opcion_sistema']['nombre']=$nom;
					$this->data['Opcion_sistema']['nombre_var']=$this->quitar_espacios(strtolower($nom));
					if($this->Opcion_sistema->save($this->data))
					{
						$this->Opcion_sistema->query('COMMIT');		
						echo "<script type=\"text/javascript\" language=\"javascript\">
document.getElementById('guardarfun').style.display='none';
			 document.getElementById('buscar').style.display='block';</script>";
					$this->set('Exito','Datos de<br /> opcion del sistema<br /> Modificados');
					}
					else
					{
						$this->set('Error','Datos del<br /> Opcion del sistema <br /> no fueron Modificados');
						$this->Opcion_sistema->query('ROLLBACK');
 					}
				}
 				else
 				$this->set('Error','El nombre del<br /> Opcion del sistema<br /> ya existe');
 			}
 			else
 				$this->set('Error','El nombre del<br /> Opcion del sistema<br /> es obligatorio');
 		}
		$this->ver_opcion_sistema();
		$this->render('ver_opcion_sistema');
	 }

 	function borrar_opcion_sistema($id,$nom)
 	{
		if(!$this->tiene_acciones($id))
		{
			$sql="delete from opcion_sistemas where id= $id;";
			$this->Opcion_sistema->query($sql);
			
				/*$n_m=strtolower($this->quitar_espacios($nom));
				$sql="ALTER TABLE permisos DROP COLUMN $n_m;";
				$this->Opcion_sistema->query($sql);*/
				$this->set('Exito','opccion del sistema eliminada');
			
		}
		else $this->set('Error','esta opcion del sistema posee acciones asociados, no se puede eliminar');
		$this->ver_opcion_sistema();
		$this->render('ver_opcion_sistema');
	}

 	function cerrar($id)
	{
		echo "<script type=\"text/javascript\" language=\"javascript\">document.getElementById('guardarfun').style.display='none';
			 document.getElementById('buscar').style.display='block';</script>";
			 $this->render('mensaje');
 	}	
 
	function verifica_opcion_sistema ($est=NULL,$id=NULL) 
	{
		$est=$this->mayuscula($est);
		if(isset($id))
		{
			if(isset($est))
			{
				//$RS=$this->Opcion_sistema->findCount("UPPER(Opcion_sistema.nombre)='$est' and Opcion_sistema.id <> $id");
				$sql="SELECT id FROM opcion_sistemas where UPPER(nombre)='$est' and id <> $id";
				$r=$this->Opcion_sistema->query($sql);
				if(isset($r[0][0]['id']) && $r[0][0]['id']>0)
				{
					echo "<script type=\"text/javascript\" language=\"javascript\">		
							document.getElementById('nombre').focus()
						 </script>";
					echo '<span class="error_1">Opcion de sistema ya se encuentra registrada.</span>';
					///$this->set('Error','Error!!! la opcion del sistema se encuentra registrada!!!');
				}
			}
		}
		else
		{
			if(isset($est))
			{
				//$RS=$this->Opcion_sistema->findCount("UPPER(Opcion_sistema.nombre)='$est'");
				$sql="SELECT id FROM opcion_sistemas where UPPER(nombre)='$est'";
				$r=$this->Opcion_sistema->query($sql);
				if(isset($r[0][0]['id']) && $r[0][0]['id']>0)
				{
					echo "<script type=\"text/javascript\" language=\"javascript\">		
							document.getElementById('nombre').focus()
						 </script>";
					echo '<span class="error_1">Opcion del sistema ya se encuentra registrada.</span>';
					
				}
			}
		}
		$this->render('mensaje');
	}
	
	function verifica_opcion_sistema_int ($est,$id=NULL) 
	{
		$res=true;
		$est=$this->mayuscula($est);
		if(isset($id)) $sql="SELECT id FROM opcion_sistemas where UPPER(nombre)='$est' and id <> $id";
		else $sql="SELECT id FROM opcion_sistemas where UPPER(nombre)='$est'";
		$r=$this->Opcion_sistema->query($sql);
		if(isset($r[0][0]['id']) && $r[0][0]['id']>0) $res=false;
		return $res;
	}
	
	function tiene_acciones($id)
	{
		$b = $this->Modulo_accion_opcion->find('all',array('conditions' => array('Modulo_accion_opcion.opcion_sistema_id' => $id)));
		if(isset($b[0]['Modulo_accion_opcion']['id']) and $b[0]['Modulo_accion_opcion']['id']>0) $res=1;
		else $res=0;
		return $res;
	}
	
 
}
